#pragma once

#include <windows.h>

namespace DESCryptoServiceProvider
{
	int GenerateKey(OUT LPBYTE buffer);
	int GenerateIV(OUT LPBYTE buffer);
	int EncryptString(IN LPCBYTE value, int nLen, IN LPCBYTE key, int nLenKey, IN LPCBYTE IV, int nLenIV, OUT LPBYTE buffer);
	int DecryptString(IN LPCBYTE value, int nLen, IN LPCBYTE key, int nLenKey, IN LPCBYTE IV, int nLenIV, OUT LPBYTE buffer);
}

namespace EurekaCryptoServiceProvider
{
	int EncryptString(IN OUT LPBYTE buffer, int nLen, int key);
	int DecryptString(IN OUT LPBYTE buffer, int nLen, int key);
	int ShellCryptPackage(IN OUT LPBYTE buffer, int nLen);
	int Byte2String(IN LPCBYTE buffer, int nLen, OUT LPSTR szText);
	int String2Byte(IN LPCSTR szText, OUT LPBYTE buffer);
}